package org.adobe.utils {
	import flash.utils.Endian;

	/**
	 */
	public class IntUtil {
		private static var hexChars:String = "0123456789abcdef";

		/**/
		public static function rol(x:int, n:int):int {
			return (x << n) | (x >>> (32 - n));
		}

		/**/
		public static function ror(x:int, n:int):uint {
			var nn:int = 32 - n;
			return (x << nn) | (x >>> (32 - nn));
		}

		/***/
		public static function toHex(n:int, bigEndian:Boolean = false):String {
			var s:String = "";
			if (bigEndian){
				for (var i:int = 0; i < 4; i++){
					s += hexChars.charAt((n >> ((3 - i) * 8 + 4)) & 0xF) + hexChars.charAt((n >> ((3 - i) * 8)) & 0xF);
				}
			} else {
				for (var x:int = 0; x < 4; x++){
					s += hexChars.charAt((n >> (x * 8 + 4)) & 0xF) + hexChars.charAt((n >> (x * 8)) & 0xF);
				}
			}
			return s;
		}
	}
}